package _a._08final;

    //final类不能被继承
//public final class Final{
//
//}

public class Final {
    /*
        final关键字
     */

    //    final变量：
    //    当变量声明为final时，不能被修改，即 他是一个常量
    //    如果是基本数据类型（如 int, double 等），final 表示值不可变。
    final int MAX_VALUE = 100;
    // MAX_VALUE = 200; // 这行代码会报错，因为final变量的值不能被修改

    //        如果是引用类型（如对象、数组），final 表示引用不可变，但对象内部的状态可以修改。
    final int[] array = {1, 2, 3};
    // array[0]=10;     合法，可以修改数组内容
//  array = new int[5]; // 非法，不能修改引用




    //      final方法 不能被子类重写
//    当希望某个方法的行为在子类中保持不变时，可以使用 final 方法。
    final void show() {
        System.out.println("父类final方法");
    }




//    final参数
//    当希望确保方法内部不会修改传入的参数时，可以使用 final 参数。
    void show01(final String name){
//        name = "aaa";   报错，因为final参数不能被修改
        System.out.println(name);
    }


    //修饰对象	作用
    //变量	值不可变（常量）
    //方法	方法不可被重写
    //类	类不可被继承
    //参数	参数值不可被修改
}

